package co.edu.usbcali.unidades.modelo.dto;

import co.edu.usbcali.unidades.modelo.Inmueble;
import co.edu.usbcali.unidades.modelo.Multa;
import co.edu.usbcali.unidades.presentation.backingBeans.InmuebleView;
import co.edu.usbcali.unidades.presentation.businessDelegate.BusinessDelegatorView;
import co.edu.usbcali.unidades.utilities.FacesUtils;

import java.io.Serializable;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import javax.faces.event.ActionEvent;
import javax.faces.model.SelectItem;

import com.icesoft.faces.component.ext.HtmlSelectOneMenu;

/**
 * 
 * 
 * @author Zathura Code Generator http://code.google.com/p/zathura
 * 
 */
public class InmuebleDTO implements Serializable {
	private static final long serialVersionUID = 1L;
	private String inmCuotaAdmin;
	private String inmDimension;
	private String inmNumeroId;
	private String divCodigo_Division;
	private String estCodigo_Estado;
	private String inmCodigo;
	private boolean rowSelected = false;
	private InmuebleView inmuebleView;
	private Inmueble inmueble;

	private String estadoNombre;
	private String divNombre;

	private String observaion;

	public Inmueble getInmueble() {
		return inmueble;
	}

	// metodo para guardar una multa en mov_mes...

	public void action_multar(ActionEvent e) {
		try {
			inmuebleView.multar(((inmCodigo == null) || inmCodigo
					.equals("")) ? null : new String(inmCodigo));
			rowSelected = !rowSelected;
		} catch (Exception ex) {

		}

	}

	public String listener_update(ActionEvent e) {
		try {
			inmuebleView
					.action_modifyWitDTO(
							((inmCodigo == null) || inmCodigo.equals("")) ? null
									: new String(inmCodigo),
							((inmCuotaAdmin == null) || inmCuotaAdmin
									.equals("")) ? null : new Long(
									inmCuotaAdmin),
							((inmDimension == null) || inmDimension.equals("")) ? null
									: new Long(inmDimension),
							((inmNumeroId == null) || inmNumeroId.equals("")) ? null
									: new String(inmNumeroId),
							((divCodigo_Division == null) || divCodigo_Division
									.equals("")) ? null : new String(
									divCodigo_Division),
							((estCodigo_Estado == null) || estCodigo_Estado
									.equals("")) ? null : new String(
									estCodigo_Estado));
			rowSelected = !rowSelected;
		} catch (Exception ex) {
			return "";
		}

		return "";
	}

	public void listener_cancel(ActionEvent e) {
		inmCodigo = inmueble.getInmCodigo().toString();
		inmCuotaAdmin = (inmueble.getInmCuotaAdmin() != null) ? inmueble
				.getInmCuotaAdmin().toString() : null;
		inmDimension = (inmueble.getInmDimension() != null) ? inmueble
				.getInmDimension().toString() : null;
		inmNumeroId = (inmueble.getInmNumeroId() != null) ? inmueble
				.getInmNumeroId().toString() : null;
		divCodigo_Division = (inmueble.getDivision().getDivCodigo() != null) ? inmueble
				.getDivision().getDivCodigo().toString()
				: null;
		estCodigo_Estado = (inmueble.getEstado().getEstCodigo() != null) ? inmueble
				.getEstado().getEstCodigo().toString()
				: null;
		rowSelected = !rowSelected;
	}

	/**
	 * <p>
	 * Bound to commandLink actionListener in the ui that renders/unrenders the
	 * Object details for editing.
	 * </p>
	 */
	public void toggleSelected(ActionEvent e) {
		inmCodigo = inmueble.getInmCodigo().toString();
		inmCuotaAdmin = (inmueble.getInmCuotaAdmin() != null) ? inmueble
				.getInmCuotaAdmin().toString() : null;
		inmDimension = (inmueble.getInmDimension() != null) ? inmueble
				.getInmDimension().toString() : null;
		inmNumeroId = (inmueble.getInmNumeroId() != null) ? inmueble
				.getInmNumeroId().toString() : null;
		divCodigo_Division = (inmueble.getDivision().getDivCodigo() != null) ? inmueble
				.getDivision().getDivCodigo().toString()
				: null;
		estCodigo_Estado = (inmueble.getEstado().getEstCodigo() != null) ? inmueble
				.getEstado().getEstCodigo().toString()
				: null;
		rowSelected = !rowSelected;
	}

	public void setInmueble(Inmueble inmueble) {
		this.inmueble = inmueble;
	}

	public InmuebleView getInmuebleView() {
		return inmuebleView;
	}

	public void setInmuebleView(InmuebleView inmuebleView) {
		this.inmuebleView = inmuebleView;
	}

	public String getInmCuotaAdmin() {
		return inmCuotaAdmin;
	}

	public void setInmCuotaAdmin(String inmCuotaAdmin) {
		this.inmCuotaAdmin = inmCuotaAdmin;
	}

	public String getInmDimension() {
		return inmDimension;
	}

	public void setInmDimension(String inmDimension) {
		this.inmDimension = inmDimension;
	}

	public String getInmNumeroId() {
		return inmNumeroId;
	}

	public void setInmNumeroId(String inmNumeroId) {
		this.inmNumeroId = inmNumeroId;
	}

	public String getDivCodigo_Division() {
		return divCodigo_Division;
	}

	public void setDivCodigo_Division(String divCodigo_Division) {
		this.divCodigo_Division = divCodigo_Division;
	}

	public String getEstCodigo_Estado() {
		return estCodigo_Estado;
	}

	public void setEstCodigo_Estado(String estCodigo_Estado) {
		this.estCodigo_Estado = estCodigo_Estado;
	}

	public String getInmCodigo() {
		return inmCodigo;
	}

	public void setInmCodigo(String inmCodigo) {
		this.inmCodigo = inmCodigo;
	}

	public boolean isRowSelected() {
		return rowSelected;
	}

	public void setRowSelected(boolean rowSelected) {
		this.rowSelected = rowSelected;
	}

	public String getEstadoNombre() {
		estadoNombre = inmueble.getEstado().getEstNombre();
		return estadoNombre;
	}

	public void setEstadoNombre(String estadoNombre) {
		this.estadoNombre = estadoNombre;
	}

	public String getDivNombre() {
		divNombre = inmueble.getDivision().getDivNombre();
		return divNombre;
	}

	public void setDivNombre(String divNombre) {
		this.divNombre = divNombre;
	}

}
